package com.gsi.webstore.platform.storefront.capi.order;

import java.util.Collection;
import java.util.Date;

import com.intershop.beehive.foundation.quantity.Money;
import com.intershop.component.warranty.capi.WarrantyBO;
import com.intershop.sellside.appbase.b2c.capi.order.Discount;
import com.intershop.sellside.appbase.b2c.capi.order.ProductLineItemBOProxy;

public class GSIProductLineItemBOProxy extends ProductLineItemBOProxy implements GSIProductLineItemBO
{
    private final GSIProductLineItemBO _delegate;

    public GSIProductLineItemBOProxy(final GSIProductLineItemBO delegate)
    {
        super(delegate);
        _delegate=delegate;
    }

    public Date getDeliveryToDate()
    {
        return _delegate.getDeliveryToDate();
    }

    public Date getDeliveryFromDate()
    {
        return _delegate.getDeliveryFromDate();
    }

    public boolean isHiddenEDD()
    {
        return _delegate.isHiddenEDD();
    }

    public Collection<GSITaxInformationBO> getItemPriceBasedTaxes()
    {
        return _delegate.getItemPriceBasedTaxes();
    }

    public Collection<GSITaxInformationBO> getShippingCostBasedTaxes()
    {
        return _delegate.getShippingCostBasedTaxes();
    }

    public Money getDutyAmount()
    {
        return _delegate.getDutyAmount();
    }

    public Collection<GSIExtraChargeInformationBO> getFees()
    {
        return _delegate.getFees();
    }

    public Collection<GSIExtraChargeInformationBO> getGeographicalFees()
    {
        return _delegate.getGeographicalFees();
    }

    public Collection<GSIExtraChargeInformationBO> getImportFees()
    {
        return _delegate.getImportFees();
    }

    public Collection<GSITaxInformationBO> getDuties()
    {
        return _delegate.getDuties();
    }

    @Override
    public GSIWarrantyLineItemBO getWarranty()
    {
        return _delegate.getWarranty();
    }

    @Override
    public GSIWarrantyLineItemBO addWarranty(final WarrantyBO aWarranty)
    {
        return _delegate.addWarranty(aWarranty);
    }

    public GSIGiftWrapLineItemBO getGiftWrap()
    {
        return _delegate.getGiftWrap();
    }

    public GSIGiftMessageLineItemBO getGiftMessage()
    {
        return _delegate.getGiftMessage();
    }

    @Override
    public Money getNetBasePrice()
    {
        return _delegate.getNetBasePrice();
    }

    public Money getNetShippingCosts()
    {
        return _delegate.getNetShippingCosts();
    }

    @Override
    public Collection<GSITaxInformationBO> getAppliedItemDiscountTaxes(final Discount discount)
    {
        return _delegate.getAppliedItemDiscountTaxes(discount);
    }

    @Override
    public Collection<GSITaxInformationBO> getAppliedShippingDiscountTaxes(final Discount discount)
    {
        return _delegate.getAppliedShippingDiscountTaxes(discount);
    }

    @Override
    public Money getNetDiscountAmount(final Discount discount)
    {
        return _delegate.getNetDiscountAmount(discount);
    }
}
